ICT Visible Center-Label CISD & FVGsThis indicator provides a clean, institutional-grade view of market shifts and liquidity gaps, specifically optimized for ICT (Inner Circle Trader) concepts.
Core Components
CISD (+/-): Identifies a "Change in State of Delivery." A (+) indicates a bullish shift, while a (-) indicates a bearish shift. These appear as fixed black lines with labels that delete automatically once price breaches the level.
Multi-Timeframe FVGs: Automatically plots Fair Value Gaps from the 5m, 15m, 1H, and 4H timeframes simultaneously.
Center-Locked Labels: Timeframe labels (e.g., "1H") are centered within the gaps, making them easy to identify without scrolling back through price history.
Auto-Cleaning Logic: To keep your chart clutter-free, gaps and CISD levels are instantly removed from the screen the moment they are mitigated (filled) by price.
Cari skrip untuk "fair value gap"
Liquidity Void and Repair EngineLiquidity Void & Repair Engine
OVERVIEW
The Liquidity Void & Repair Engine is a high-fidelity institutional order flow tool designed to identify and track "Market Imbalances" or "Fair Value Gaps" (FVG). Unlike standard gap indicators that clutter the chart with every minor price jump, this engine uses Volatility-Adjusted Range Mapping to isolate high-conviction voids where price moved so rapidly that liquidity was left "unfilled."
The standout feature of this tool is its Active Repair Logic. The engine doesn't just draw static boxes; it monitors price action in real-time to determine when an imbalance has been "healed" by subsequent trading volume, providing a dynamic look at where the market has "unfinished business."
TECHNICAL LOGIC & ORIGINALITY
This script is published Open Source to contribute to the Pine Script community’s understanding of dynamic object management and order flow visualization.
ATR-Relative Filtering: To ensure only significant voids are plotted, the script uses a user-defined ATR (Average True Range) multiplier. This filters out market noise and focuses on institutional "impulse" moves.
Dynamic Box Management: Utilizing the Pine Script box array system, the script manages memory efficiently by updating existing objects rather than creating redundant ones.
The "Repair" Algorithm: The script tracks the high and low of every active void. When price action fully traverses the coordinates of a void, the script "seals" the box, visually marking the moment of liquidity equilibrium.
HOW TO USE
1. Identifying the "Magnet" (The Void)
When price moves aggressively, it leaves a "hole" in the auction.
Bullish Voids (Green): These represent areas where price surged so fast that buyers may still have unfilled orders sitting below. These act as Magnets for pullbacks.
Bearish Voids (Red): These represent areas where price plummeted, leaving a vacuum of selling pressure. These act as Magnets for relief rallies.
2. Trading the "Repair" Process
The Engine tracks how the market "repairs" these holes:
Partial Fill: If price enters a box but doesn't cross it, the "Magnet" is still active.
Full Repair: When a box is "sealed" (stops extending right), it indicates the imbalance is gone. If price "Seals" a green box and then bounces, it confirms the zone as Valid Institutional Support.
3. Confluence with the Trend
Continuation: In a strong uptrend, look for price to drop into a Green Bullish Void and find support. This is often the "Golden Entry" for trend followers.
Reversal Confirmation: If price ignores a Red Bearish Void and blasts right through it (sealing it instantly), it signals a massive shift in market regime and extreme bullish conviction.
USER SETTINGS
Lookback Period: How far back the engine searches for un-repaired gaps.
Min Gap Size (ATR %): Increase this to see only the "Major" institutional gaps; decrease it for a more granular intraday look.
Visual Styles: Fully customizable colors and transparency to match any chart theme (Dark/Light).
NOTES & DISCLAIMER
This script is a visualization of historical price imbalances and is intended for educational purposes only. It does not provide trade signals, entry/exit points, or financial advice. All trading involves risk.
First Presented FVGSummary: First Presented FVG Indicator
This is a Pine Script v6 TradingView indicator that identifies and visualizes the first Fair Value Gap (FVG) that forms within configurable time windows during a trading session.
What it Does
1. Detects FVGs : Uses the classic 3-candle FVG definition:
- Bullish FVG: When low > high (gap up)
- Bearish FVG: When high < low (gap down)
2. "First Presented" Logic : For each configured time slot, it captures only the first qualifying FVG that forms—subsequent FVGs in that window are ignored.
3. Visual Display :
- Draws a colored box spanning from detection time to session end
- Optional text label showing detection time (e.g., "9:38 Tue FP FVG")
- Optional grade lines at 25%, 50%, and 75% levels within the FVG
Key Configuration
Setting Description
Timeframe Only works on 5-minute charts or lower
Timezone IANA timezone for session times (default: America/New_York)
Session Futures trading hours (default: 1800-1715)
Min FVG Size Minimum gap size in ticks to qualify
4 Time Slots Each with enable toggle, time window, and color
Default Time Slots
Slot 1 (enabled): 09:30-10:30 — lime green
Slot 2 (enabled): 13:30-14:30 — blue
Slot 3 (disabled): 13:00-13:30 — teal
Slot 4 (disabled): 14:15-14:45 — fuchsia
Technical Features
Handles cross-midnight sessions correctly
Resets all drawings at each new session
Skips the first bar of each window to ensure valid 3-candle lookback
Clamps slot windows to session boundaries
SMC N-Gram Probability Matrix [PhenLabs]📊 SMC N-Gram Probability Matrix
Version: PineScript™ v6
📌 Description
The SMC N-Gram Probability Matrix applies computational linguistics methodology to Smart Money Concepts trading. By treating SMC patterns as a discrete “alphabet” and analyzing their sequential relationships through N-gram modeling, this indicator calculates the statistical probability of which pattern will appear next based on historical transitions.
Traditional SMC analysis is reactive—traders identify patterns after they form and then anticipate the next move. This indicator inverts that approach by building a transition probability matrix from up to 5,000 bars of pattern history, enabling traders to see which SMC formations most frequently follow their current market sequence.
The indicator detects and classifies 11 distinct SMC patterns including Fair Value Gaps, Order Blocks, Liquidity Sweeps, Break of Structure, and Change of Character in both bullish and bearish variants, then tracks how these patterns transition from one to another over time.
🚀 Points of Innovation
First indicator to apply N-gram sequence modeling from computational linguistics to SMC pattern analysis
Dynamic transition matrix rebuilds every 50 bars for adaptive probability calculations
Supports bigram (2), trigram (3), and quadgram (4) sequence lengths for varying analysis depth
Priority-based pattern classification ensures higher-significance patterns (CHoCH, BOS) take precedence
Configurable minimum occurrence threshold filters out statistically insignificant predictions
Real-time probability visualization with graphical confidence bars
🔧 Core Components
Pattern Alphabet System: 11 discrete SMC patterns encoded as integers for efficient matrix indexing and transition tracking
Swing Point Detection: Uses ta.pivothigh/pivotlow with configurable sensitivity for non-repainting structure identification
Transition Count Matrix: Flattened array storing occurrence counts for all possible pattern sequence transitions
Context Encoder: Converts N-gram pattern sequences into unique integer IDs for matrix lookup
Probability Calculator: Transforms raw transition counts into percentage probabilities for each possible next pattern
🔥 Key Features
Multi-Pattern SMC Detection: Simultaneously identifies FVGs, Order Blocks, Liquidity Sweeps, BOS, and CHoCH formations
Adjustable N-Gram Length: Choose between 2-4 pattern sequences to balance specificity against sample size
Flexible Lookback Range: Analyze anywhere from 100 to 5,000 historical bars for matrix construction
Pattern Toggle Controls: Enable or disable individual SMC pattern types to customize analysis focus
Probability Threshold Filtering: Set minimum occurrence requirements to ensure prediction reliability
Alert Integration: Built-in alert conditions trigger when high-probability predictions emerge
🎨 Visualization
Probability Table: Displays current pattern, recent sequence, sample count, and top N predicted patterns with percentage probabilities
Graphical Probability Bars: Visual bar representation (█░) showing relative probability strength at a glance
Chart Pattern Markers: Color-coded labels placed directly on price bars identifying detected SMC formations
Pattern Short Codes: Compact notation (F+, F-, O+, O-, L↑, L↓, B+, B-, C+, C-) for quick pattern identification
Customizable Table Position: Place probability display in any corner of your chart
📖 Usage Guidelines
N-Gram Configuration
N-Gram Length: Default 2, Range 2-4. Lower values provide more samples but less specificity. Higher values capture complex sequences but require more historical data.
Matrix Lookback Bars: Default 500, Range 100-5000. More bars increase statistical significance but may include outdated market behavior.
Min Occurrences for Prediction: Default 2, Range 1-10. Higher values filter noise but may reduce prediction availability.
SMC Detection Settings
Swing Detection Length: Default 5, Range 2-20. Controls pivot sensitivity for structure analysis.
FVG Minimum Size: Default 0.1%, Range 0.01-2.0%. Filters insignificant gaps.
Order Block Lookback: Default 10, Range 3-30. Bars to search for OB formations.
Liquidity Sweep Threshold: Default 0.3%, Range 0.05-1.0%. Minimum wick extension beyond swing points.
Display Settings
Show Probability Table: Toggle the probability matrix display on/off.
Show Top N Probabilities: Default 5, Range 3-10. Number of predicted patterns to display.
Show SMC Markers: Toggle on-chart pattern labels.
✅ Best Use Cases
Anticipating continuation or reversal patterns after liquidity sweeps
Identifying high-probability BOS/CHoCH sequences for trend trading
Filtering FVG and Order Block signals based on historical follow-through rates
Building confluence by comparing predicted patterns with other technical analysis
Studying how SMC patterns typically sequence on specific instruments or timeframes
⚠️ Limitations
Predictions are based solely on historical pattern frequency and do not account for fundamental factors
Low sample counts produce unreliable probabilities—always check the Samples display
Market regime changes can invalidate historical transition patterns
The indicator requires sufficient historical data to build meaningful probability matrices
Pattern detection uses standardized parameters that may not capture all institutional activity
💡 What Makes This Unique
Linguistic Modeling Applied to Markets: Treats SMC patterns like words in a language, analyzing how they “flow” together
Quantified Pattern Relationships: Transforms subjective SMC analysis into objective probability percentages
Adaptive Learning: Matrix rebuilds periodically to incorporate recent pattern behavior
Comprehensive SMC Coverage: Tracks all major Smart Money Concepts in a unified probability framework
🔬 How It Works
1. Pattern Detection Phase
Each bar is analyzed for SMC formations using configurable detection parameters
A priority hierarchy assigns the most significant pattern when multiple detections occur
2. Sequence Encoding Phase
Detected patterns are stored in a rolling history buffer of recent classifications
The current N-gram context is encoded into a unique integer identifier
3. Matrix Construction Phase
Historical pattern sequences are iterated to count transition occurrences
Each context-to-next-pattern transition increments the appropriate matrix cell
4. Probability Calculation Phase
Current context ID retrieves corresponding transition counts from the matrix
Raw counts are converted to percentages based on total context occurrences
5. Visualization Phase
Probabilities are sorted and the top N predictions are displayed in the table
Chart markers identify the current detected pattern for visual reference
💡 Note:
This indicator performs best when used as a confluence tool alongside traditional SMC analysis. The probability predictions highlight statistically common pattern sequences but should not be used as standalone trading signals. Always verify predictions against price action context, higher timeframe structure, and your overall trading plan. Monitor the sample count to ensure predictions are based on adequate historical data.
Directional Strength and Momentum Index█ OVERVIEW
“Directional Strength and Momentum Index” (DSMI) is a technical analysis indicator inspired by DMI, but due to different source data, it produces distinct results. DSMI combines direction measurement, trend strength, and overheat levels into a single index, enhanced with gradient fills, extreme zones, entry signals, candle coloring, and a summary table.
█ CONCEPT
The classic DMI, despite its relatively simple logic, can seem somewhat chaotic due to separate +DI and -DI lines and the need for manual interpretation of their relationships. The DSMI indicator was created to increase clarity and speed up results, consolidating key information into a single index from 0 to 100 that simultaneously:
- Indicates trend direction (bullish/bearish)
- Measures movement strength
- Identifies overheat levels
- Generates ready entry signals
DMI (ADX + +DI / -DI) measures trend direction and strength, but does so based solely on comparing price movements between candles. ADX shows whether the trend is orderly and growing (e.g., above 20–30), but does not assess how dynamic the movement is.
DSMI, on the other hand, takes into account candle size and actual market aggression, thus showing directional momentum — whether the trend has real “fuel” to sustain or accelerate, not just whether it is orderly.
The main calculation difference involves replacing True Range with candle size (high-low) and using directional EMA instead of Wilder smoothing. This allows DSMI to react faster to momentum changes, eliminating delays typical of classic DMI based on TR.
This gives the trader an immediate picture of the market situation without analyzing multiple lines.
█ FEATURES
DSMI Main Line:
- EMA(Directional Index) based on +DS and -DS
- Scale 0–100, smooth color gradient depending on strength
+DS / -DS:
- Positive and Negative Directional Strength
- Gradient fill between lines — more intense with stronger trend
Extreme Zones:
- Default 20 and 80
- Gradient fill outside zones
Trend Strength Levels:
- Weak (<10) → neutral
- Moderate (up to 35)
- Strong (up to 45)
- Overheated (up to 55)
- Extreme (>55)
All levels editable
Entry Signals:
- Activated on crossing entry level (default 20)
Or on direction change when DSMI already ≥ entry level
- Highlighted background (green/red)
Candle Coloring:
- According to current trend
Trend Strength Table:
- Top-right corner
- Shows current strength (WEAK/STRONG etc.) + DSMI value
Alerts:
- DSMI Bullish Entry
- DSMI Bearish Entry
█ HOW TO USE
Add to Chart: Paste code in Pine Editor or find in indicator library.
Settings:
DSMI Parameters:
- DSMI Period → default 20
- Show DSMI Line → on/off
Extreme Zones:
- Lower Level → default 20
- Upper Level → default 80
Trend Strength Levels:
- Weak, Moderate, Strong, Overheated → adjust to strategy
Trend Colors:
- BULLISH → default green
- BEARISH → default red
- NEUTRAL → gray
Entry Signals:
- Show Highlight → on/off
- DSMI Entry Level → default 20
Signal Interpretation:
- DSMI Line: Main strength indicator.
- Gradient between +DS and -DS: Visualizes side dominance.
- Crossing 18 with direction confirmation → entry signal.
- Extreme Zones: Potential reversal or continuation points after correction.
- Table: Quick overview of current trend condition.
█ APPLICATIONS
The indicator works well in:
- Trend-following: Enter on signal, exit on direction change or overheat. When a new trend appears, consider entering a position, preferably with a rising trend strength indicator.
- Scalping/daytrading: Shorter period (7–10), lower entry level.
- Swing/position: Longer period (20–30), higher entry level, extreme zones as filters.
- Noise filtering: Ignores consolidation below “Weak” – increasing value e.g. to 15 highlights consolidation zones, but no signals appear there.
Style Adjustment:
- Aggressive strategies → shorten period and entry level
- Conservative → extend period, raise entry level (25–30), watch “Overheated”
“Weak” level (<10 default) → neutral; increasing it e.g. to 15 gives fewer but higher-quality signals. The Weak zone value controls the level below which no signals appear, and the gradient turns gray (often aligned with consolidation zones).
Combine with:
- Support/resistance levels
- Fair Value Gaps (FVG)
- Volume (Volume Profile, VWAP)
- Other oscillators (RSI, Stochastic)
█ NOTES
- Works on all markets and timeframes.
- Adjust period and levels to instrument volatility.
- Higher entry level → fewer signals, higher quality.
- Neutral color below “Weak” – avoids trading in consolidation.
- Gradient and table enable quick assessment without line analysis.
FvgPanel█ OVERVIEW
This library provides functionalities for creating and managing a display panel within a Pine Script™ indicator. Its primary purpose is to offer a structured way to present Fair Value Gap (FVG) information, specifically the nearest bullish and bearish FVG levels across different timeframes (Current, MTF, HTF), directly on the chart. The library handles the table's structure, header initialization, and dynamic cell content updates.
█ CONCEPTS
The core of this library revolves around presenting summarized FVG data in a clear, tabular format. Key concepts include:
FVG Data Aggregation and Display
The panel is designed to show at-a-glance information about the closest active FVG mitigation levels. It doesn't calculate these FVGs itself but relies on the main script to provide this data. The panel is structured with columns for timeframes (TF), Bullish FVGs, and Bearish FVGs, and rows for "Current" (LTF), "MTF" (Medium Timeframe), and "HTF" (High Timeframe).
The `panelData` User-Defined Type (UDT)
To facilitate the transfer of information to be displayed, the library defines a UDT named `panelData`. This structure is central to the library's operation and is designed to hold all necessary values for populating the panel's data cells for each relevant FVG. Its fields include:
Price levels for the nearest bullish and bearish FVGs for LTF, MTF, and HTF (e.g., `nearestBullMitLvl`, `nearestMtfBearMitLvl`).
Boolean flags to indicate if these FVGs are classified as "Large Volume" (LV) (e.g., `isNearestBullLV`, `isNearestMtfBearLV`).
Color information for the background and text of each data cell, allowing for conditional styling based on the FVG's status or proximity (e.g., `ltfBullBgColor`, `mtfBearTextColor`).
The design of `panelData` allows the main script to prepare all display-related data and styling cues in one object, which is then passed to the `updatePanel` function for rendering. This separation of data preparation and display logic keeps the library focused on its presentation task.
Visual Cues and Formatting
Price Formatting: Price levels are formatted to match the instrument's minimum tick size using an internal `formatPrice` helper function, ensuring consistent and accurate display.
Large FVG Icon: If an FVG is marked as a "Large Volume" FVG in the `panelData` object, a user-specified icon (e.g., an emoji) is prepended to its price level in the panel, providing an immediate visual distinction.
Conditional Styling: The background and text colors for each FVG level displayed in the panel can be individually controlled via the `panelData` object, enabling the main script to implement custom styling rules (e.g., highlighting the overall nearest FVG across all timeframes).
Handling Missing Data: If no FVG data is available for a particular cell (i.e., the corresponding level in `panelData` is `na`), the panel displays "---" and uses a specified background color for "Not Available" cells.
█ CALCULATIONS AND USE
Using the `FvgPanel` typically involves a two-stage process: initialization and dynamic updates.
Step 1: Panel Creation
First, an instance of the panel table is created once, usually during the script's initial setup. This is done using the `createPanel` function.
Call `createPanel()` with parameters defining its position on the chart, border color, border width, header background color, header text color, and header text size.
This function initializes the table with three columns ("TF", "Bull FVG", "Bear FVG") and three data rows labeled "Current", "MTF", and "HTF", plus a header row.
Store the returned `table` object in a `var` variable to persist it across bars.
// Example:
var table infoPanel = na
if barstate.isfirst
infoPanel := panel.createPanel(
position.top_right,
color.gray,
1,
color.new(color.gray, 50),
color.white,
size.small
)
Step 2: Panel Updates
On each bar, or whenever the FVG data changes (typically on `barstate.islast` or `barstate.isrealtime` for efficiency), the panel's content needs to be refreshed. This is done using the `updatePanel` function.
Populate an instance of the `panelData` UDT with the latest FVG information. This includes setting the nearest bullish/bearish mitigation levels for LTF, MTF, and HTF, their LV status, and their desired background and text colors.
Call `updatePanel()`, passing the persistent `table` object (from Step 1), the populated `panelData` object, the icon string for LV FVGs, the default text color for FVG levels, the background color for "N/A" cells, and the general text size for the data cells.
The `updatePanel` function will then clear previous data and fill the table cells with the new values and styles provided in the `panelData` object.
// Example (inside a conditional block like 'if barstate.islast'):
var panelData fvgDisplayData = panelData.new()
// ... (logic to populate fvgDisplayData fields) ...
// fvgDisplayData.nearestBullMitLvl = ...
// fvgDisplayData.ltfBullBgColor = ...
// ... etc.
if not na(infoPanel)
panel.updatePanel(
infoPanel,
fvgDisplayData,
"🔥", // LV FVG Icon
color.white,
color.new(color.gray, 70), // NA Cell Color
size.small
)
This workflow ensures that the panel is drawn only once and its cells are efficiently updated as new data becomes available.
█ NOTES
Data Source: This library is solely responsible for the visual presentation of FVG data in a table. It does not perform any FVG detection or calculation. The calling script must compute or retrieve the FVG levels, LV status, and desired styling to populate the `panelData` object.
Styling Responsibility: While `updatePanel` applies colors passed via the `panelData` object, the logic for *determining* those colors (e.g., highlighting the closest FVG to the current price) resides in the calling script.
Performance: The library uses `table.cell()` to update individual cells, which is generally more efficient than deleting and recreating the table on each update. However, the frequency of `updatePanel` calls should be managed by the main script (e.g., using `barstate.islast` or `barstate.isrealtime`) to avoid excessive processing on historical bars.
`series float` Handling: The price level fields within the `panelData` UDT (e.g., `nearestBullMitLvl`) can accept `series float` values, as these are typically derived from price data. The internal `formatPrice` function correctly handles `series float` for display.
Dependencies: The `FvgPanel` itself is self-contained and does not import other user libraries. It uses standard Pine Script™ table and string functionalities.
█ EXPORTED TYPES
panelData
Represents the data structure for populating the FVG information panel.
Fields:
nearestBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point (bottom for bull) on the LTF.
isNearestBullLV (series bool) : True if the nearest bullish FVG on the LTF is a Large Volume FVG.
ltfBullBgColor (series color) : Background color for the LTF bullish FVG cell in the panel.
ltfBullTextColor (series color) : Text color for the LTF bullish FVG cell in the panel.
nearestBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point (top for bear) on the LTF.
isNearestBearLV (series bool) : True if the nearest bearish FVG on the LTF is a Large Volume FVG.
ltfBearBgColor (series color) : Background color for the LTF bearish FVG cell in the panel.
ltfBearTextColor (series color) : Text color for the LTF bearish FVG cell in the panel.
nearestMtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the MTF.
isNearestMtfBullLV (series bool) : True if the nearest bullish FVG on the MTF is a Large Volume FVG.
mtfBullBgColor (series color) : Background color for the MTF bullish FVG cell.
mtfBullTextColor (series color) : Text color for the MTF bullish FVG cell.
nearestMtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the MTF.
isNearestMtfBearLV (series bool) : True if the nearest bearish FVG on the MTF is a Large Volume FVG.
mtfBearBgColor (series color) : Background color for the MTF bearish FVG cell.
mtfBearTextColor (series color) : Text color for the MTF bearish FVG cell.
nearestHtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the HTF.
isNearestHtfBullLV (series bool) : True if the nearest bullish FVG on the HTF is a Large Volume FVG.
htfBullBgColor (series color) : Background color for the HTF bullish FVG cell.
htfBullTextColor (series color) : Text color for the HTF bullish FVG cell.
nearestHtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the HTF.
isNearestHtfBearLV (series bool) : True if the nearest bearish FVG on the HTF is a Large Volume FVG.
htfBearBgColor (series color) : Background color for the HTF bearish FVG cell.
htfBearTextColor (series color) : Text color for the HTF bearish FVG cell.
█ EXPORTED FUNCTIONS
createPanel(position, borderColor, borderWidth, headerBgColor, headerTextColor, headerTextSize)
Creates and initializes the FVG information panel (table). Sets up the header rows and timeframe labels.
Parameters:
position (simple string) : The position of the panel on the chart (e.g., position.top_right). Uses position.* constants.
borderColor (simple color) : The color of the panel's border.
borderWidth (simple int) : The width of the panel's border.
headerBgColor (simple color) : The background color for the header cells.
headerTextColor (simple color) : The text color for the header cells.
headerTextSize (simple string) : The text size for the header cells (e.g., size.small). Uses size.* constants.
Returns: The newly created table object representing the panel.
updatePanel(panelTable, data, lvIcon, defaultTextColor, naCellColor, textSize)
Updates the content of the FVG information panel with the latest FVG data.
Parameters:
panelTable (table) : The table object representing the panel to be updated.
data (panelData) : An object containing the FVG data to display.
lvIcon (simple string) : The icon (e.g., emoji) to display next to Large Volume FVGs.
defaultTextColor (simple color) : The default text color for FVG levels if not highlighted.
naCellColor (simple color) : The background color for cells where no FVG data is available ("---").
textSize (simple string) : The text size for the FVG level data (e.g., size.small).
Returns: _void
ICT Concepts: MML, Order Blocks, FVG, OTECore ICT Trading Concepts
These strategies are designed to identify high-probability trading opportunities by analyzing institutional order flow and market psychology.
1. Market Maker Liquidity (MML) / Liquidity Pools
Idea: Institutional traders ("market makers") place orders around key price levels where retail traders’ stop losses cluster (e.g., above swing highs or below swing lows).
Application: Look for "liquidity grabs" where price briefly spikes to these levels before reversing.
Example: If price breaks a recent high but reverses sharply, it may indicate a liquidity grab to trigger retail stops before a trend reversal.
2. Order Blocks (OB)
Idea: Institutional orders are often concentrated in specific price zones ("order blocks") where large buy/sell decisions occurred.
Application: Identify bullish order blocks (strong buying zones) or bearish order blocks (strong selling zones) on higher timeframes (e.g., 1H/4H charts).
Example: A bullish order block forms after a strong rally; price often retests this zone later as support.
3. Fair Value Gap (FVG)
Idea: A price imbalance occurs when candles gap without overlapping, creating an area of "unfair" price that the market often revisits.
Application: Trade the retracement to fill the FVG. A bullish FVG acts as support, and a bearish FVG acts as resistance.
Example: Three consecutive candles create a gap; price later returns to fill this gap, offering a entry point.
4. Time-Based Analysis (NY Session, London Kill Zones)
Idea: Institutional activity peaks during specific times (e.g., 7 AM – 11 AM New York time).
Application: Focus on trades during high-liquidity periods when banks and hedge funds are active.
Example: The "London Kill Zone" (2 AM – 5 AM EST) often sees volatility due to European market openings.
5. Optimal Trade Entry (OTE)
Idea: A retracement level (similar to Fibonacci retracement) where institutions re-enter trends after a pullback.
Application: Look for 62–79% retracements in a trend to align with institutional accumulation/distribution zones.
Example: In an uptrend, price retraces 70% before resuming upward—enter long here.
6. Stop Hunts
Idea: Institutions manipulate price to trigger retail stop losses before reversing direction.
Application: Avoid placing stops at obvious levels (e.g., above/below recent swings). Instead, use wider stops or wait for confirmation.
Dabel MS + FVGThis script is designed to assist traders by identifying market structures, imbalances, and potential trade opportunities using Break of Structure (BOS) and Market Structure Shifts (MSS). It visually highlights imbalances in price action, key pivots, and market structure changes, providing actionable information for making trading decisions.
Key features:
Imbalances Detection: Highlights bullish and bearish price gaps (Fair Value Gaps) using colored boxes. Users can choose the line style (solid, dashed, or dotted) for imbalance midlines.
Market Structure Analysis: Tracks pivot highs and lows to identify BOS and MSS in two separate market structures with adjustable pivot strengths.
Customizable Visualization: Allows users to choose line styles, colors, and display options for both imbalances and market structures.
Alerts: Alerts traders when BOS or MSS occur, helping to monitor the market effectively.
Trading Strategy
Imbalance Trading:
Imbalances (gaps) represent areas where supply or demand was left unfilled. These gaps often act as magnet zones where the price revisits to fill.
Bullish Imbalance: Look for buying opportunities when price enters a green imbalance zone.
Bearish Imbalance: Look for selling opportunities when price enters a red imbalance zone.
Use the midline of the imbalance box as a key reference point for potential reversals.
Break of Structure (BOS) and Market Structure Shift (MSS):
BOS: Indicates a continuation of the existing trend. For example:
Bullish BOS: Look for continuation in the uptrend after a high is broken.
Bearish BOS: Look for continuation in the downtrend after a low is broken.
MSS: Suggests a potential reversal in market structure. For example:
Bullish MSS: Indicates a possible shift from a bearish to bullish market.
Bearish MSS: Indicates a potential shift from a bullish to bearish market.
Multiple Market Structures:
This script provide two sets of market structures, allowing traders to compare short-term and long-term trends.
Adjust the pivot strength to suit your trading style (lower for intraday trading, higher for swing or positional trading).
Entry and Exit:
Entry: Look for entries near imbalances or after confirmed BOS/MSS in line with the overall trend.
Exit: Place stop-loss below/above recent pivots and take profit at nearby support/resistance or imbalance zones.
For New Traders
Focus on Basics: Understand what BOS and MSS mean and how they signal trend direction or reversals.
Use Alerts: Rely on the script's alert system to catch important moments without staring at charts all day.
Start Small: Test this strategy on a demo account before using it live. You can understand it more with practice.
Multi-Timeframe FVG [TFO]The goal of this indicator is to find Fair Value Gaps (FVGs) that overlap on multiple timeframes. FVGs are already meant to be “sensitive” areas where one might expect price to react from, therefore FVGs that overlap on multiple timeframes could provide even more confluence that there may be a reaction in said area (with proper context).
Mitigation Type allows users to select how FVGs should be mitigated, either by wick or by completely closing through the area.
The displacement option helps to filter out smaller FVGs by looking for areas where price ran rather quickly (causing displacement). This is done by comparing the candle that made the FVG to a fractional ATR value, so that one may fine-tune how much “larger” the candle range needs to be, relative to recent price action.
The timeframe alignment option allows users to select how many timeframes must be converging in order to draw FVGs. For instance, with all timeframes selected, a timeframe alignment value of 2 would require that there be overlapping FVGs on 2 or more timeframes. A value of 3 would require that there be overlapping FVGs on all 3 timeframes in order for them to be drawn.
Price Action Assistant V2All in One Assistant for Price Action Traders
1-Calculates and Displays the Opening Gap Relative to ADR.
2-Information Table Showing Yesterday’s and Today’s Range Plus Average Bar Range.
3-Displays Micro-Gaps (Fair Value Gaps).
4-Advanced Bar Numbering With an Option to Display at Custom Intervals, Using 9 or 12 Bar Color Multiples to Visualize the Closure of 45-Minute or 60-Minute Candles on an M5 Chart.
5-Plots Previous High, Low, and Close Levels Plus the Current Session Open.
6-Displays a 3-Bar Micro Channel in the Same Direction.
7-Includes Two Different Moving Averages.
8-Displays the Daily Date and Day-of-Week Label for Easy Journaling and Chart Archiving.
ICT Concepts [Kodexius]ICT Concepts is an all in one, chart overlay toolkit that combines several widely used ICT style components into a single, modular workflow. It is designed to help you map higher timeframe context, track directional structure, and refine execution areas with imbalance and liquidity concepts, without turning the chart into a cluttered drawing board.
Instead of plotting everything indefinitely, each module focuses on “live relevance” and chart readability. Zones, lines, and labels are managed with sensible limits so the most recent and most meaningful structures remain visible while older objects are automatically retired.
Because the system is modular, you can run it like a complete toolkit:
- Use multi timeframe Order Blocks to define high probability zones
- Use Market Structure (BOS and MSS) for bias and context
- Validate intent with SMT Divergence when you want intermarket confirmation
- Refine with Imbalances (FVG, BPR, CE) and Liquidity Sweeps
- Add timing structure via Killzones and risk structure via auto Fibonacci
🔹 Features
🔸 Multi Timeframe Order Blocks (3 candle displacement OB)
The OB engine detects a strict 3 candle displacement sequence (bull and bear) and projects the “order block candle” as a forward extending zone. Detection can run on the chart timeframe or on a user selected higher timeframe and then be displayed on your execution chart.
🔸 Overlap Control
Before adding a new OB, the script checks overlap against existing zones of the same direction. If a new zone intersects an existing one, it is ignored to reduce redundant stacking in the same price area.
🔸 Automatic Extension and Mitigation for Order Blocks
OB zones extend forward on every bar and are removed once mitigation is confirmed. Mitigation is evaluated by close breaking decisively beyond the relevant boundary:
- Bullish OB mitigates when close prints below the OB bottom
- Bearish OB mitigates when close prints above the OB top
🔸 Market Structure (BOS and MSS)
Market Structure is built from swing pivots using a configurable pivot length. When price closes through the latest swing, the script prints a structure event:
BOS (Break of Structure) for continuation
MSS (Market Structure Shift) for a directional change
To keep the chart readable, older structure drawings are capped by history limits.
🔸 SMT Divergence with optional mini panel
SMT can compare the current instrument with a user selected symbol to highlight divergence at swing points. A divergence is flagged when one market makes a new swing extreme while the other fails to confirm.
Optional: a compact right side “compare symbol” candle panel can be enabled so you can visually confirm what the secondary market is doing without leaving the chart.
🔸 Imbalances: FVG, BPR, and CE modes
You can choose between three imbalance views depending on your style:
FVG mode: Fair Value Gaps are plotted as extending zones
CE mode: Consequent Encroachment is visualized using a midpoint line and a half zone fill
BPR mode: Balanced Price Range is formed when a new FVG overlaps an opposing FVG, producing a “balanced” region that often behaves differently than a standalone gap
🔸 Automatic extension, limits, and mitigation for imbalances
Imbalance objects extend forward until mitigated. Mitigation uses wick based logic:
Bullish imbalance mitigates when price wicks below the zone bottom
Bearish imbalance mitigates when price wicks above the zone top
The script also enforces per side limits and removes older items to keep performance stable.
🔸 Liquidity sweeps (buyside and sellside)
The liquidity module tracks swing highs and lows and marks sweep events when price runs the level and then closes back through it, which often behaves like a rejection signal. Sweeps are visualized with a level line plus a small sweep highlight box, with an optional history cap.
🔸 Auto anchored Fibonacci (EQ and OTE focus)
Fibonacci levels are automatically anchored using the most recent structure context so you do not need to manually re draw fibs every time the market evolves. EQ and OTE focused bands are plotted to support common premium discount style workflows, with optional extra levels if desired.
🔸 Killzones (session boxes with optional range tracking)
Asian, London Open, New York AM, and New York PM killzones can be displayed using UTC-5 session definitions. Session boxes dynamically expand as new highs and lows are formed during the session, and historical zones can be retained up to a user set count. Rendering is restricted to intraday timeframes up to 60 minutes for clean scaling and performance.
🔹 Calculations
1) Order Block detection (3 candle displacement)
The OB pattern is defined inside detectLogic() . The zone boundaries always come from candle (the middle candle of the 3 candle sequence).
detectLogic() =>
bool isBull = open > close and close > open and close > open and low < low and close > high
bool isBear = open < close and close < open and close < open and high > high and close < low
[isBull, high , low , time , isBear, high , low , time ]
Interpretation (bullish side):
Candle is bearish
Candle is bullish (the OB candle)
Current candle is bullish and closes above high
low undercuts low to form the sweep style condition
Bearish logic is the mirrored inverse.
2) Multi timeframe projection and duplicate control
If the timeframe input is set, detections are computed on that timeframe and projected onto the current chart using request.security . A last processed time check prevents duplicate prints.
=
request.security(syminfo.tickerid, i_tf, detectLogic())
var int lastBullTime = 0
var int lastBearTime = 0
if mtf_isBull and mtf_bullTime != lastBullTime
lastBullTime := mtf_bullTime
if mtf_isBear and mtf_bearTime != lastBearTime
lastBearTime := mtf_bearTime
3) OB overlap validation and mitigation
Overlap is checked before pushing a new zone, then zones are extended and removed once mitigated by close.
method hasOverlap(array OBs, float top, float bottom) =>
bool overlap = false
if OBs.size() > 0
for i = 0 to OBs.size() - 1
OB item = OBs.get(i)
if (top < item.top and top > item.bottom) or (bottom > item.bottom and bottom < item.top)
overlap := true
break
overlap
method isMitigated(OB this, float currentClose) =>
this.isBull ? (currentClose < this.bottom) : (currentClose > this.top)
4) Market Structure: pivots, BOS, and MSS
Swings are derived from pivots; then BOS/MSS prints when price crosses the latest swing. The script tracks trend state to decide whether the break is continuation (BOS) or shift (MSS).
float ph = ta.pivothigh(i_structLen, i_structLen)
float pl = ta.pivotlow(i_structLen, i_structLen)
bool brokenHigh = ta.crossover(close, lastHigh)
bool brokenLow = ta.crossunder(close, lastLow)
// drawStructure(..., "BOS", ...) or drawStructure(..., "MSS", ...) depending on trend state
5) SMT Divergence conditions
SMT uses pivot highs/lows on both instruments. A bearish SMT prints when the main chart makes a higher high but the compare symbol fails to exceed its prior high. A bullish SMT prints when the main chart makes a lower low but the compare symbol fails to make a lower low.
bool bearishSmt = not na(smtAHighPrev) and not na(smtBHighPrev) and (smtAHighLast > smtAHighPrev) and (smtBHighLast <= smtBHighPrev)
bool bullishSmt = not na(smtALowPrev) and not na(smtBLowPrev) and (smtALowLast < smtALowPrev) and (smtBLowLast >= smtBLowPrev)
6) FVG detection, BPR construction, and CE level
FVGs are detected via a classic 3 bar gap condition. When a new FVG overlaps an opposing FVG, the script builds a BPR using the intersecting region. CE is the midpoint (top + bottom) / 2, plotted as a dashed line plus a half fill box.
bool fvgBullDetected = low > high
bool fvgBearDetected = high < low
// CE
float ceLevel = (this.top + this.bottom) / 2
Imbalance mitigation uses wick logic:
method isMitigated(FVG this, float currentHigh, float currentLow) =>
this.isBull ? (currentLow < this.bottom) : (currentHigh > this.top)
7) Liquidity sweep trigger
A sweep is confirmed only when price runs the pivot level and closes back through it (reject style).
bool sweepBull = i_showLiq and not na(liqLastLow) and not liqLastLowSwept and low < liqLastLow and close > liqLastLow
bool sweepBear = i_showLiq and not na(liqLastHigh) and not liqLastHighSwept and high > liqLastHigh and close < liqLastHigh
8) Killzone session mapping
Sessions are defined in UTC-5 using time() session strings.
string kzTz = "UTC-5"
kzInSession(string sess) =>
not na(time(timeframe.period, sess, kzTz))
bool inAsian = kzInSession("2000-0000")
bool inLondon = kzInSession("0200-0500")
bool inNY = kzInSession("0830-1100")
Daytrading Suite: Neon TPO + FVG v6.1Here is the summary of the code and the trading guide in English.
---
### 1. Code Summary: What does the chart show?
The script combines three dimensions of trading into a single chart:
* **The Context (TPO / Market Profile - Yesterday):**
* **Gold Zone (Center):** Yesterday's **POC (Point of Control)**. This was the "fairest price". It often acts as a magnet.
* **White Dashed Lines:** The **VAH (Value Area High)** and **VAL (Value Area Low)**. Yesterday, 70% of all trading volume happened between these lines. This is the area of "Balance".
* **The Structure (HTF - 1 Hour+):**
* **Red/Green Boxes (Right Edge):** Automatic **Supply & Demand Zones** based on the 1-hour chart (or your setting). They indicate major resistance and support levels.
* **The Timing (Entries):**
* **Neon FVG Boxes (Small):** "Fair Value Gaps". These represent imbalances in price. If price revisits these, it is often your **entry signal**.
* **Lines (VWAP, EMA, PDH/PDL):** Act as dynamic support and trend indicators.
---
### 2. Trading Strategy: How to use it
Do not just trade every colored spot. You must combine **Location (TPO)** with **Signal (FVG)**.
#### Step A: The Open (Where are we?)
In the morning (or at the US Open), check where the price is relative to the **white TPO lines**.
1. **Inside the White Lines (In Balance):**
* The market is undecided. Expect ranging/choppy behavior.
* **Strategy:** Buy at the bottom edge (VAL), Sell at the top edge (VAH). The target is often the Gold Zone (POC) in the middle.
2. **Outside the White Lines (Imbalance):**
* The market is seeking new prices. Danger of a Trend!
* **Strategy:** If price breaks above VAH and tests it from above -> **Long**. If it breaks below VAL -> **Short**.
#### Step B: The Setup (The High Probability Scenario)
Here is the "Rejection" Setup (Long Example):
1. Price drops to the lower white line (**VAL**) or into a green **Demand Zone**.
2. It bounces (shows a wick).
3. In the process, a small **green Neon FVG** is formed.
4. **Entry:** Limit Order at the top of the Neon FVG.
5. **Target:** The Gold Zone (POC) or the upper white line (VAH).
6. **Stop Loss:** Below the recent swing low.
#### Step C: Warning Signals (When NOT to trade)
* **In "No Man's Land":** If the price is sitting right in the middle between Gold (POC) and White (VAH/VAL), do nothing. The risk is 50/50. Wait until price hits an edge.
* **Against the Flow:** If EMA 9 and 21 are pointing steeply downwards, do not buy blindly at the VAL just because the line is there. Wait for confirmation (FVG).
### Pre-Trade Checklist:
1. **Level:** Am I at a white line (VAH/VAL) or the Gold Zone (POC)?
2. **Structure:** Do I have an HTF Demand/Supply Zone backing me up?
3. **Trigger:** Do I see a Neon FVG pointing in my direction?
Smart Money Concept Change of Character Break of StructureSMC Structure
Visualizes Change of Character (CHoCH) and Break of Structure (BoS) - two fundamental Smart Money Concepts for identifying trend reversals and continuations.
This is the 1st version of an implementation of this concept.
It is NOT supposed to be used as a signal but a confirmation. Best use during NYSE hours.
Full Description
Overview
This indicator automatically detects and displays two core Smart Money Concepts (SMC) directly on your chart:
CHoCH (Change of Character) – The first structural break against the prevailing trend, signaling a potential reversal
BoS (Break of Structure) – A structural break in the direction of the current trend, confirming continuation
These concepts are essential building blocks of SMC trading methodology, helping traders identify where institutional players may be entering or exiting positions.
How It Works
The indicator uses pivot-based swing detection to identify significant highs and lows. When price breaks through these levels, it classifies the move as either a CHoCH or BoS based on the current trend context.
CHoCH (Change of Character)
Occurs when price breaks structure AGAINST the current trend
First warning sign that the trend may be reversing
Displayed as a solid horizontal line with "CHoCH" label
Green = Bullish reversal | Red = Bearish reversal
BoS (Break of Structure)
Occurs when price breaks structure IN THE DIRECTION of the current trend
Confirms that the existing trend remains intact
Displayed as a dashed horizontal line with "BoS" label
Teal = Bullish continuation | Maroon = Bearish continuation
Visual Example
Uptrend with BoS (continuation):
HH ◄── BoS (trend continues)
/
HL
/
HH
/
HL
Uptrend → CHoCH → Downtrend (reversal):
HH
/ \
HL \
LL ◄── CHoCH (trend reversal!)
Settings
Pivot Settings
Pivot Lookback: Number of bars used to identify swing highs/lows (default: 5). Higher values = fewer but more significant structure points.
Display Options
Show CHoCH: Toggle CHoCH visualization
Show BoS: Toggle BoS visualization
Show Swing Points: Display SH/SL labels at detected pivots
Extend Lines to Right: Extend structure lines into future bars
Show Info Table: Display current trend and last swing levels
Show Trend Background: Color the chart background based on trend direction
Colors
Fully customizable colors for all elements
How to Use
Identify the trend: Look at the sequence of CHoCH and BoS signals to understand market structure
Watch for CHoCH: A CHoCH signals potential reversal – wait for confirmation before trading against the previous trend
Trade with BoS: BoS confirms trend continuation – look for entries on pullbacks in the direction of the trend
Combine with other SMC concepts: Works great alongside Order Blocks, Fair Value Gaps, and liquidity concepts
Tips
Use higher pivot lookback values on higher timeframes for cleaner signals
A CHoCH doesn't guarantee reversal – it's the first warning sign, not confirmation
Multiple BoS signals in a row indicate a strong, healthy trend
Look for CHoCH occurring at key levels (support/resistance, order blocks) for higher probability setups
Feedback Welcome!
This is an open-source indicator and I'd love to hear your thoughts!
Please comment below if you have:
Feature requests or ideas for improvements
Bug reports or issues
Suggestions for additional SMC concepts to add
Your feedback helps make this indicator better for everyone. Happy trading! 🚀
FVG Heatmap [Hash Capital Research]FVG Map
FVG Map is a visual Fair Value Gap (FVG) mapping tool built to make displacement imbalances easy to see and manage in real time. It detects 3-candle FVG zones, plots them as clean heatmap boxes, tracks partial mitigation (how much of the zone has been filled), and summarizes recent “fill speed” behavior in a small regime dashboard.
This is an indicator (not a strategy). It does not place trades and it does not publish performance claims. It is a market-structure visualization tool intended to support discretionary or systematic workflows.
What this script detects
Bullish FVG (gap below price)
A bullish FVG is detected when the candle from two bars ago has a high below the current candle’s low.
The zone spans from that prior high up to the current low.
Bearish FVG (gap above price)
A bearish FVG is detected when the candle from two bars ago has a low above the current candle’s high.
The zone spans from the current high up to that prior low.
What makes it useful
Heatmap zones (clean, readable FVG boxes)
Bullish zones plot below price. Bearish zones plot above price.
Partial fill tracking (mitigation progress)
As price trades back into a zone, the script visually shows how much of the zone has been filled.
Mitigation modes (your definition of “filled”)
• Full Fill: price fully trades through the zone
• 50% Fill: price reaches the midpoint of the zone
• First Touch: price touches the zone one time
Optional auto-cleanup
Optionally remove zones once they’re mitigated to keep the chart clean.
Fill-Speed Regime Dashboard
When zones get mitigated, the script records how many bars it took to fill and summarizes the recent environment:
• Average fill time
• Median fill time
• % fast fills vs % slow fills
• Regime label: choppy/mean-revert, trending/displacement, or mixed
How to use
Use FVG zones as structure, not guaranteed signals.
• Bullish zones are often watched as potential support on pullbacks.
• Bearish zones are often watched as potential resistance on rallies.
The fill-speed dashboard helps provide context: fast fills tend to appear in more rotational conditions, while slow fills tend to appear in stronger trend/displacement conditions.
Alerts
Bullish FVG Created
Bearish FVG Created
Notes
FVGs are not guaranteed reversal points. Fill-speed/regime is descriptive of recent behavior and should be treated as context, not prediction. On realtime candles, visuals may update as the bar forms.
FVG Supply and DemandThis indicator combines powerful tools into one:
• Supply & Demand Zones built from swing highs/lows with ATR-based zone width, POI markers, and Break-of-Structure (BOS) detection.
• Volumized Fair Value Gaps (FVGs) showing bullish/bearish gaps, total volume inside the gap, volume distribution, optional zone-combining, and auto-cleanup.
• Swing TSL Line and manage bar color.
It helps visualize key imbalance areas, institutional zones, and price reaction points.
Credits to the Author.
⚠️ Disclaimer
This indicator is provided for educational and analytical purposes only.
It does not provide trading advice.
Past results do not guarantee future outcomes.
Use responsibly and in conjunction with your market analysis.
Market Maker Position Bars (Position Size)**Market Maker Position Bars (Position Size) – Indicator Description for TradingView**
This indicator is a clean, professional visualization tool designed for traders who track suspected **market maker / institutional positioning** (especially popular in ICT/SMC communities) on indices like the SPX, NDX, ES, etc.
It draws up to **20 horizontal position bars** directly on the chart, anchored to the very last bar, representing hypothetical long and short positions at specific price levels with corresponding position sizes.
### Key Features & Visual Logic
- **Green bars (Boxes 1–10)** → Extend to the **right** of the last bar
Represent **long positions** (bullish interest)
Default translucent green fill
- **Red bars (Boxes 11–20)** → Extend to the **left** of the last bar
Represent **short positions** (bearish interest)
Default translucent red fill
- **Bar width = Position size**
The length of each box is automatically scaled based on the absolute value you enter in “Position Size”.
Larger position → wider (longer) bar
- Each box displays **Price / Position Size** text inside (e.g., `5720.50 / 1250`)
### Fully Customizable Settings
**Global Geometry**
- Total Box Height (default 10.0) – controls vertical thickness of all boxes
**Position Size Scaling**
- Base Box Width (bars)
- Width per Position Unit – fine-tune how aggressively width grows with size
- Minimum & Maximum Bar Width – prevents boxes from becoming too tiny or excessively long
**Global Text Settings**
- Text color, size (Tiny → Huge), and bold option
**Individual Box Controls (20 independent boxes)**
- Show/Hide toggle
- SPX Price (or any symbol price level)
- Position Size (any positive/negative number; absolute value determines width)
- Fill color (override default green/red if desired)
### How It Works Internally
- All boxes are drawn only on the **last confirmed bar** (`barstate.islast`)
- Width calculation:
`Width = BaseWidth + (|Position Size| × Width per Unit)`
Clamped between Min and Max Bar Width
- Green boxes start at the current bar and extend forward (right)
- Red boxes end at the current bar and extend backward (left)
- Uses Pine Script v6 `box.new()` with `xloc.bar_index` for perfect alignment and performance
### Ideal Use Cases
- Visualizing daily/weekly **order block** or **fair value gap** interest levels with estimated size
- Mapping **dealer positioning**, gamma exposure levels, or large options interest
- Quickly seeing where the “smart money” is theoretically stacked on both sides of the market
- Clean chart markup for screenshots, mentoring, or live trading journals
A minimalist yet powerful tool favored by ICT, SMC, and footprint-style traders who want to see **where the big players might be positioned** — all in one glance without cluttering the chart with hundreds of objects.
Clean. Visual. Size-aware. Perfect for high-level market profiling.
HTF FVG + SessionsThis indicator combines multi-timeframe FVG A–C detection with intraday session boxes on a single chart.
It automatically finds bullish and bearish Fair Value Gaps on 15m, 30m, 1H, 4H, 1D and 1W timeframes.
Fresh FVGs are drawn in a transparent gold color, then dynamically shrink as price trades back into the gap.
Once price fully fills the gap, the FVG box and its label are automatically removed from the chart.
After the first touch, each FVG changes to a per-timeframe gray shade, making overlapping HTF gaps easy to see.
You can toggle each timeframe on/off and also globally enable/disable all FVGs from the settings panel.
Session boxes highlight Asia, London, NY AM, NY Lunch and NY PM using soft colored rectangles.
Each session box is plotted from the high to the low of that session and labeled with its name in white text.
A global “Show all session boxes” switch allows you to quickly hide or display the session structure.
This tool is designed for traders who want to combine FVG liquidity maps with clear intraday session context.
Stratégie SMC V18.2 (BTC/EUR FINAL R3 - Tendance)This strategy is an automated implementation of Smart Money Concepts (SMC), designed to operate on the Bitcoin/Euro (BTC/EUR) chart using the 15-minute Timeframe (M15).It focuses on identifying high-probability zones (Order Blocks) after a confirmed Break of Structure (BOS) and a Liquidity Sweep, utilizing an H1/EMA 200 trend filter to only execute trades in the direction of the dominant market flow.Risk management is strict: every trade uses a fixed Risk-to-Reward Ratio (R:R) of 1:3.🧱 Core Logic Components
1. Trend Filter (H1/EMA 200)Objective: To avoid counter-trend entries, which has allowed the success rate to increase to nearly $65\%$ in backtests.Mechanism: A $200$-period EMA is plotted on a higher timeframe (Default: H1/60 minutes).Long (Buy): Entry is only permitted if the current price (M15) is above the trend EMA.Short (Sell): Entry is only permitted if the current price (M15) is below the trend EMA.
2. Order Block (OB) DetectionA potential Order Block is identified on the previous candle if it is
accompanied by an inefficiency (FVG - Fair Value Gap).
3. Advanced SMC ValidationBOS (Break of Structure): A recent BOS must be confirmed by breaking the swing high/low defined by the swing length (Default: 4 M15 candles).Liquidity (Liquidity Sweep): The Order Block zone must have swept recent liquidity (defined by the Liquidity Search Length) within a certain tolerance (Default: $0.1\%$).Point of Interest: The OB must form in a premium zone (for shorts) or a discount zone (for longs) relative to the current swing range (above or below the $50\%$ level of the range).
4. Execution and Risk ManagementEntry: The trade is triggered when the price touches the active Order Block (mitigation).Stop Loss (SL): The SL is fixed at the low of the OB (for longs) or the high of the OB (for shorts).Take Profit (TP): The TP is strictly set at a level corresponding to 3 times the SL distance (R:R 1:3).Lot Sizing: The trade quantity is calculated to risk a fixed amount (Default: 2.00 Euros) per transaction, capped by a Lot Max and Lot Min defined by the user.
Input Parameters (Optimized for BTC/EUR M15)Users can adjust these parameters to modify sensitivity and risk profile. The default values are those optimized for the high-performing backtest (Profit Factor $> 3$).ParameterDescriptionDefault Value (M15)Long. Swing (BOS)Candle length used to define the swing (and thus the BOS).4Long. Recherche Liq.Number of candles to scan to confirm a liquidity sweep.7Tolérance Liq. (%)Price tolerance to validate the liquidity sweep (as a percentage of price).0.1Timeframe TendanceChart timeframe used for the EMA filter (e.g., 60 = H1).60 (H1)Longueur EMA TendancePeriods used for the trend EMA.200Lot Max (Quantité Max BTC)Maximum quantity of BTC the strategy is allowed to trade.0.01Lot Min Réel (Exigence Broker)Minimum quantity required by the broker/exchange.0.00001
Effort HeatmapThe Effort Heatmap visualizes where meaningful, same-direction volume occurred inside an imbalance during strong directional movement.
Instead of analyzing total bar volume or traditional volume-at-price distributions, this tool reconstructs a simplified internal volume profile using lower-timeframe data.
When a Fair Value Gap forms during a high-volume displacement, the script highlights the portions of the imbalance candle where directional effort was concentrated and projects those regions forward as a heatmap.
The purpose of this indicator is not to predict price or represent institutional activity, but to offer a visual way to study how the market delivered volume inside a move that created an imbalance.
How It Works
1. Lower-Timeframe Volume Extraction
The indicator retrieves open, close, and volume data from a selected lower timeframe.
Only sub-candles that move in the same direction as the previous bar are considered, ensuring the heatmap reflects directional effort—not mixed volume.
2. Candle Body Binning
The FVG candle is divided into multiple horizontal bins.
Each lower-timeframe sub-candle contributes volume proportionally to the bins it overlaps, creating a vertical volume distribution for that bar.
3. Imbalance (FVG) Detection
A simple 3-bar displacement logic detects bullish or bearish imbalances.
An optional Z-Score filter ensures the heatmap only forms when volume is relatively elevated compared to recent history.
4. Heatmap Projection
When a qualifying imbalance occurs:
• The FVG bar’s volume distribution is normalized
• Only areas with relatively elevated volume are displayed
• Colored heatmap boxes are created and extend forward
• These boxes remain until price trades into or through them
This allows traders to observe how price interacts with past zones of concentrated directional effort.
What Makes It Different
Most volume tools focus on fixed session profiles, market-wide volume-at-price calculations, or bar-level volume totals.
The Effort Heatmap instead reconstructs a per-bar vertical volume distribution using lower-timeframe price action and displays it only when displacement occurs.
Rather than treating the candle as a single block of volume, the indicator highlights where inside the candle body volume was delivered while moving in the displacement direction.
This creates a unique visualization of directional effort that conventional profiles, OB/FVG indicators, and classic oscillators do not show.
How to Use It
1. Apply to any timeframe: The indicator works on all chart timeframes, but gains more detail when higher timeframes are used in combination with lower-timeframe volume data.
2. Identify displacement moments: When a bullish or bearish FVG forms with a high volume Z-Score, the heatmap will appear.
3. Observe the heatmap structure:
Each horizontal band represents the relative concentration of same-direction volume inside the previous candle.
4. Watch how price interacts with these zones:
Heatmap areas extend until price touches or trades through them, at which point they stop extending and are finalized.
5. Combine with your own analysis:
These areas can be used to study...
...how past directional volume clusters influence current movement
...structural reactions to zones of prior effort
...which parts of a displacement candle were most active
The indicator is a visual study tool, not a signal generator.
Settings
• Volume Source Timeframe
Chooses the lower timeframe used to reconstruct internal volume. Smaller timeframes give more detail; larger timeframes give smoother profiles.
• Z-Score Lookback
Controls how many bars are used to measure relative volume. Larger values make the volume filter stricter.
• Z-Score Threshold
Minimum relative-volume strength required to draw a heatmap. Higher values show only high-effort moves.
• Volume Filter (%)
Removes weaker bins based on how much volume they contain compared to the strongest one. Higher percentages = fewer but more meaningful zones.
• Bullish / Bearish Colors
Sets the base color for heatmap boxes depending on direction.
Improved ICT MultiTF A+ IndicatorThis indicator provides ICT-style multi time frame fair value gaps with a 4-hour moving average bias. It prioritizes 15-minute gaps and falls back to 5-minute and 1-minute gaps when none are present. It also includes alert conditions for long and short signals based on session filters and bias.
WorldCup Dashboard + Institutional Sessions© 2025 NewMeta™ — Educational use only.
# Full, Premium Description
## WorldCup Dashboard + Institutional Sessions
**A trade-ready, intraday framework that combines market structure, real flow, and institutional timing.**
This toolkit fuses **Institutional Sessions** with a **price–volume decision engine** so you can see *who is active*, *where value sits*, and *whether the drive is real*. You get: **CVD/Delta**, volume-weighted **Momentum**, **Aggression** spikes, **FVG (MTF)** with nearest side, **Daily Volume Profile (VAH/POC/VAL)**, **ATR regime**, a **24h position gauge**, classic **candle patterns**, IBH/IBL + **first-hour “true close”** lines, and a **10-vote confluence scoreboard**—all in one view.
---
## What’s inside (and how to trade it)
### 🌍 Institutional Sessions (Sydney • Tokyo • London • New York)
* Session boxes + a highlighted **first hour**.
* Plots the **true close** (first-hour close) as a running line with a label.
**Use:** Many desks anchor risk to this print. Above = bullish bias; below = bearish. **IBH/IBL** breaks during London/NY carry the most signal.
### 📊 CVD / Delta (Flow)
* Net buyer vs seller pressure with smooth trend state.
**Use:** **Rising CVD + acceptance above mid/POC** confirms continuation. Bearish price + rising CVD = caution (possible absorption).
### ⚡ Volume-Weighted Momentum
* Momentum adjusted by participation quality (volume).
**Use:** Momentum>MA and >0 → trend drive is “real”; <0 and falling → distribution risk.
### 🔥 Aggression Detector
* ROC × normalized volume × wick factor to flag **forceful** candles.
**Use:** On spikes, avoid fading blindly—wait for pullbacks into **aligned FVG** or for aggression to cool.
### 🟦🟪 Fair Value Gaps (with MTF)
* Detects up to 3 recent FVGs and marks the **nearest** side to price.
**Use:** Trend pullbacks into **bullish FVG** for longs; bounces into **bearish FVG** for shorts. Optional threshold to filter weak gaps.
### 🧭 24h Gauge (positioning)
* Shows current price across the 24h low⇢high with a mid reference.
**Use:** Above mid and pushing upper third = momentum continuation setups; below mid = sell the rips bias.
### 🧱 Daily Volume Profile (manual per day)
* **VAH / POC / VAL** derived from discretized rows.
**Use:** **POC below** supports longs; **POC above** caps rallies. Fade VAH/VAL in ranges; treat them as break/hold levels in trends.
### 📈 ATR Regime
* **ATR vs ATR-avg** with direction and regime flag (**HIGH / NORMAL / LOW**).
**Use:** HIGH ⇒ give trades room & favor trend following. LOW ⇒ fade edges, scale targets.
### 🕯️ Candle Patterns (contextual, not standalone)
* Engulfings, Morning/Evening Star, 3 Soldiers/Crows, Harami, Hammer/Shooting Star, Double Top/Bottom.
**Use:** Only with session + flow + momentum alignment.
### 🤝 Price–Volume Classification
* Labels each bar as **continuation**, **exhaustion**, **distribution**, or **healthy pullback**.
**Use:** Align continuation reads with trend; treat “Price↑ + Vol↓” as a caution flag.
### 🧪 Confluence Scoreboard & B/S Meter
* Ten elements vote: 🔵 bull, ⚪ neutral, 🟣 bear.
**Use:** Execution filter—take setups when the board’s skew matches your trade direction.
---
## Playbooks (actionable)
**Trend Pullback (Long)**
1. London/NY active, Momentum↑, CVD↑, price above 24h mid & POC.
2. Pullback into **nearest bullish FVG**.
3. Invalidate under FVG low or **true-close** line.
4. Targets: IBH → VAH → 24h high.
**Range Fade (Short)**
1. Asia/quiet regime, **Price↑ + Vol↓** into **VAH**, ATR low.
2. Nearest FVG bearish or scoreboard skew bearish.
3. Invalidate above VAH/IBH.
4. Targets: POC → VAL.
**News/Impulse**
Aggression spike? Don’t chase. Let it pull back into the aligned FVG; require CVD/Momentum agreement before entry.
---
## Alerts (included)
* **Bull/Bear Confluence ≥ 7/10**
* **Intraday Target Achieved** / **Daily Target Achieved**
* **Session True-Close Retests** (Sydney/Tokyo/London/NY)
*(Keep alerts “Once per bar” unless you specifically want intrabar triggers.)*
---
## Setup Tips
* **UTC**: Choose the reference that matches how you track sessions (default UTC+2).
* **Volume threshold**: 2.0× is a strong baseline; raise for noisy alts, lower for majors.
* **CVD smoothing**: 14–24 for scalps; 24–34 for slower markets.
* **ATR lengths**: Keep defaults unless your asset has a persistent regime shift.
---
## Why this framework?
Because **timing (sessions)**, **truth (flow)**, and **location (value/FVG)** together beat any single signal. You get *who is trading*, *how strong the push is*, and *where risk lives*—on one screen—so execution is faster and cleaner.
---
**Disclaimer**: Educational use only. Not financial advice. Markets are risky—backtest and size responsibly.
ICT Levels Breach Scanner (12M Timeframe)Detects and scans for breaches of key Inner Circle Trader (ICT) concepts on the yearly (12M) chart: Swing Lows (3-bar wick pivots), Rejection Blocks (3-bar body pivots), Fair Value Gaps (3-bar inefficiencies), and Volume Imbalances (bullish body gaps ≥0.15%, unmitigated).
Features:
Tracks active levels with arrays for real-time breach detection (price low below any level triggers alert).
Visuals: Blue solid lines (Swing Lows), orange dashed (Rejection Blocks), purple dotted (FVGs), green boxes (VIs)—all extending right.
Red triangle + bgcolor alert on breach bar; built-in alertcondition for notifications.
Optimized for Pine Screener: Filter stocks (e.g., US exchanges) showing symbols where price has traded below these levels on the latest 12M bar.
Usage: Apply to a 12M chart for viz, or add to Screener > Pine tab for multi-symbol scans. Customize gap % or add bearish variants via inputs. Ideal for spotting potential support in long-term trends.
ICT-inspired; test on liquid stocks like AAPL/TSLA. Not financial advice.
Price Trendlines + Break Signals█ OVERVIEW
The "Price Trendlines + Break Signals" indicator is a technical analysis tool that automatically draws trendlines based on price pivot points and detects breakout signals. Designed for traders seeking precise market signals, the indicator identifies key pivot points, draws trendlines (resistance and support), and generates breakout signals with background highlighting. It offers flexible settings and alerts for breakout signals.
█ CONCEPTS
The indicator was created to provide traders with an alternative source of signals based on trendlines. Breakouts and bounces from trendlines can signal a trend change or the end of a correction. Combining these signals with other technical analysis tools can form the basis for building diverse trading strategies.
█ FEATURES
-Pivot Point Calculation: The indicator identifies pivot points (pivot high and pivot low) based on the closing price, with configurable left and right bars for pivot detection. Setting a higher number of bars results in fewer but more significant trendlines, with a delay corresponding to the specified length. Lower values generate more trendlines, but they are less significant. Crossovers are signaled only after the trendline is drawn, so sometimes no signals appear on crossed trendlines—this indicates the price passed through the line before it was detected.
- Trendlines: Draws trendlines connecting price pivot points—upper lines for downtrends (resistance) and lower lines for uptrends (support). Lines can be extended by a specified number of bars (default: 50).
- Tolerance Margin: Trendlines are widened by a tolerance margin, calculated using the average candle body size over a specified period and its multiplier. Reducing the multiplier to zero leaves only the trendline without a margin. Breaking this zone is a condition for generating signals.
- Breakout Signals: Generates signals when the price breaks through a trendline (bullish for upper lines, bearish for lower lines), with background highlighting for signal confirmation.
Alerts: Built-in alerts for:
- Upper trendline breakout (bullish signal).
- Lower trendline breakout (bearish signal).
Customization: Allows adjustment of pivot parameters, trendline extension length, tolerance margin, line colors, fills, and signal background transparency.
█ HOW TO USE
Adding the Indicator: Add the indicator to your TradingView chart via the Pine Editor or Indicators menu.
Configuring Settings:
- Left Bars for Pivot: Number of bars back for detecting pivots (default: 10).
- Right Bars for Pivot: Number of bars forward to confirm pivots (default: 10).
- Extend past 2nd pivot: Number of bars to extend the trendline after the second pivot (default: 50, 0 = no extension).
- Average Body Periods: Period for calculating the average candle body size used for the tolerance margin (default: 100).
- Tolerance Multiplier: Multiplier for the tolerance margin based on the average candle body size (default: 1.0).
Colors and Style:
- Upper trendline (resistance): default red.
- Lower trendline (support): default green.
- Line fills: colors with transparency (default 70).
- Signal background: green for bullish signals, red for bearish signals (default transparency 85).
Interpreting Signals:
- Trendlines: Upper lines (red) indicate a downtrend, lower lines (green) indicate an uptrend. Signals appear after a trendline breakout with the tolerance margin. Each trendline generates only one breakout signal, though it may still act as resistance or support for the price.
- Breakout Signals: Green background indicates an upper trendline breakout (bullish), red background indicates a lower trendline breakout (bearish).
- Alerts: Set up alerts in TradingView for trendline breakout signals.
Combining with Other Tools: Use with support/resistance levels, Fibonacci levels, RSI, pivot points, or FVG (Fair Value Gap) for signal confirmation.
█ APPLICATIONS
The "Price Trendlines + Break Signals" indicator is designed to identify trends and potential reversal points, supporting both trend-following and contrarian strategies:
- Trend Confirmation: Trendlines indicate the direction of the price trend, and bounces from them may signal the end of a correction.
- Reversal Strategies: Breakout signals can be used as cues to enter positions in anticipation of a trend change or correction.
- Noise Filtering: The tolerance margin reduces false signals, enhancing reliability.
█ NOTES
- Trendline crossovers are signaled only after the trendline is drawn, so sometimes no signals appear on crossed trendlines—this indicates the price passed through the line before it was detected.
- Each trendline generates only one breakout signal, though it may still act as a level of support or resistance for the price.
- Setting a higher number of bars for pivots results in fewer but more significant trendlines, with a delay corresponding to the specified length. Lower values generate more trendlines, but they are less significant.
- Adjust settings (e.g., number of bars for pivots, tolerance multiplier) to suit your trading style and timeframe.
- Combine with other technical analysis tools, such as RSI, pivot points, or FVG, to enhance signal accuracy.
- For high-volatility markets, consider increasing the tolerance margin to reduce false signals.






















